package com.itany.corejava.code01_基础;

import java.util.Scanner;

/**
 * @author 石小俊
 * @date 2023年04月10日 9:10
 * 在控制台输入两个int类型的数字, 分别赋值给两个变量
 * 通过一定的方式, 将这两个变量的值进行交换
 * 使用两种方式进行实现
 * 1.交换过程中可以存在第三个变量
 * 2.交换过程中不能存在第三个变量
 */
public class Test08_练习_交换变量的值 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入第一个数:");
        int a = sc.nextInt();
        System.out.print("请输入第二个数:");
        int b = sc.nextInt();
        System.out.println("*****************交换前的值*****************");
        System.out.println("a=" + a + ",b=" + b);

        // 方式一:使用第三个变量作为中间变量
//        int temp = a;
//        a = b;
//        b = temp;

        // 方式二:不存在第三个变量
        // 将两数之和赋值给其中一个变量
        // 那么通过两数之和的值和其中任意一个变量的值可以得到另一个变量的值
        a = a + b;
        // 想要将a的值赋值给b
        // a+b-b=a
        b = a - b;
        a = a - b;


        System.out.println("*****************交换后的值*****************");
        System.out.println("a=" + a + ",b=" + b);
    }
}
